The TQD3DViewerView class is a sample QuickDraw3D viewer wrapper class, based on the MacApp view system. To use this class, you can simply add the TQD3DViewerView in AdLib (or your view editor of choice) and call the InitUQD3DViewer() method to initialize the class. The remainder of the default behavior is handled by the TQD3DViewerView class or QuickDraw3D.
The TQD3DViewerView class is provided with MacApp Release 10 as sample code only, and is not a supported piece of the framework. Any bugs can be reported to MABugs@devtools.apple.com and geoff_clapp@powertalk.apple.com, but there is no guarantee that they will be fixed by Apple in a timely manner. Hopefully, through positive feedback from the MacApp community, the3D support will be enhanced and rolled into the framework.
The QD3DSample Project:
-----------------------
Included with the TQD3DViewerView class is an example project, "QD3DSamplePPC_d.π" It has two representations of how a developer may use the base class to add QD3D support to a MacApp application. The first representation is the "Default Viewer" which is opened at startup. This is a single viewer with the default QuickDraw3D settings. You can Drag and Drop 3DMF files onto the view to exercise it's functionality. The second representation is the "Custom Viewer" which allows the user to modify the Viewer characteristics on the fly, including the rendering method used to render the 3DMF object.
The sample project is a PowerPC (QD3D is PPC only), Debug, CodeWarrior 8 project.
Known Bugs and Functional Limitations
-------------------------------------
1.) Cut, Copy, Paste, and Clear are not undoable commands
2.) The cursor handling is not always correct. (The Drag Hand is used when QD3D cursors should be shown)
3.) There is no "UseFile" functionality. The only method to insert a 3DMF file is via Drag and Drop.
4.) The TQD3DViewerView is fixed and does not respect size determiners to adjust the QD3D Viewer in conjunction with the view.
5.) The Flag Setting interface will be modified to be more robust.
6.) There is a coordinate bug, where the Viewer is offset incorrectly on insert, but redrawn
correctly when redrawn. To replicate this bug, drag the 3DMF objects between the viewers.